package com.itany.corejava.code07_常用类.内部类;
import com.itany.corejava.code07_常用类.内部类.SomeOuter.SomeInner;
/**
 * @author MissChen
 * @date 2024年03月04日 10:05
 */
public class Test03_静态内部类 {
    public static void main(String[] args) {

        // 方式一:将 外部类.内部类 当做一个类名
        // 外部类.内部类 变量名 = new 外部类.内部类()
        // SomeOuter.SomeInner inner=new SomeOuter.SomeInner();
        // inner.print();

        //方式二:手动导包。将外部类.内部类作为类名, 然后直接使用内部类
        SomeInner inner=new SomeInner();
        inner.print();

    }
}
class SomeOuter{
    private String name="alice";
    private int age=20;
    private static String phone="13856897894";

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public static String getPhone() {
        return phone;
    }

    public static void setPhone(String phone) {
        SomeOuter.phone = phone;
    }
    public void show(){
        SomeInner someInner=new SomeInner();
        System.out.println(someInner.name);
        System.out.println(name);

    }
    static class SomeInner{
        private String name="tom";
        private String gender="男";

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getGender() {
            return gender;
        }

        public void setGender(String gender) {
            this.gender = gender;
        }
        public void print(){
            System.out.println("这是静态内部类的一个方法");

            // 在内部类中访问外部类的成员
            // 通过外部类对象可以访问所有成员, 包含private 修饰的成员
            // 如果直接访问属性,不通过对象。只能访问static 修饰的
            SomeOuter outer=new SomeOuter();
            System.out.println(outer.name);
            System.out.println(outer.age);
            System.out.println(phone);/// 如果直接访问属性,不通过对象。只能访问static 修饰的
            outer.show();



        }

    }
}